package com.bosssoft.trainee.entity.po;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author liuqiang
 * @date 2022/7/4 20:09
 */
@Data
@TableName("user")
public class User {

    /**
     * 用户id
     */
    @TableId(type = IdType.AUTO)
    private Integer userId;

    /**
     * 用户编码
     */
    private String userCode;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 用户性别
     */
    private String userGender;

    /**
     * 用户角色
     */
    private String userRole;

    /**
     * user telephone number
     */
    private String userTele;

    /**
     * user email
     */
    private String userEmail;

    /**
     * user account
     */
    private String userAccount;

    /**
     * user password
     */
    private String userPassword;

    /**
     * the state of user
     * 启动/禁用
     */
    private String userState;

    /**
     * 更新人id
     */
    private Integer updateId;

    /**
     * 创建时间
     * FieldFill.INSERT设置在插入时填充
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime gmtCreate;

    /**
     * 更新时间
     * FieldFill.INSERT_UPDATE设置在插入和更新时填充
     */
    @TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime gmtModified;

    /**
     * 版本 实现乐观锁需要添加@Version注解
     * FieldFill.INSERT设置在插入时填充
     */
    @Version
    @TableField(fill = FieldFill.INSERT)
    private Integer version;

    /**
     * 状态位
     */
    @TableField(fill = FieldFill.INSERT)
    private Integer status;

}
